package com.orm.mapping.xmltag;

import java.util.ArrayList;
import java.util.List;

/**
 * 混合节点，  组合模式，充当 树干的角色
 * 下面有许多树枝 和 树叶节点
 *
 * 内部保存一个 List<SqlNode> 作为树枝 树叶节点
 */

public class MixedSqlNode implements SqlNode{
	private List<SqlNode> nodes;
	
	public MixedSqlNode() {
		this.nodes = new ArrayList<>();
	}
	
	public void addSqlNode(SqlNode node){
		nodes.add(node);
	}
	
	@Override
	public String apply(DynamicContext context) {
		for (SqlNode node : nodes) {
			 context.append(node.apply(context));
		}
		return "";
	}
}
